home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 353_02 / virtual6.cpp < prev    next >
C/C++ Source or Header  |  1992-01-18  |  1KB  |  64 lines

  1.                                   // Chapter 10 - Program 6
  2. #include <iostream.h>
  3.  
  4. class vehicle {
  5.    int wheels;
  6.    float weight;
  7. public:
  8.    virtual void message(void) { cout << "Vehicle message\n";}
  9. };
  10.  
  11.  
  12. class car : public vehicle {
  13.    int passenger_load;
  14. public:
  15.    void message(void) { cout << "Car message\n";}
  16. };
  17.  
  18.  
  19. class truck : public vehicle {
  20.    int passenger_load;
  21.    float payload;
  22. public:
  23.    int passengers(void) {return passenger_load;}
  24. };
  25.  
  26.  
  27. class boat : public vehicle {
  28.    int passenger_load;
  29. public:
  30.    int passengers(void) {return passenger_load;}
  31.    void message(void) { cout << "Boat message\n";}
  32. };
  33.  
  34.  
  35. main()
  36. {
  37. vehicle *unicycle;
  38.  
  39.    unicycle = new vehicle;
  40.    unicycle->message();
  41.    delete unicycle;
  42.  
  43.    unicycle = new car;
  44.    unicycle->message();
  45.    delete unicycle;
  46.  
  47.    unicycle = new truck;
  48.    unicycle->message();
  49.    delete unicycle;
  50.  
  51.    unicycle = new boat;
  52.    unicycle->message();
  53.    delete unicycle;
  54. }
  55.  
  56.  
  57.  
  58. // Result of execution
  59. //
  60. // Vehicle message
  61. // Car message
  62. // Vehicle message
  63. // Boat message
  64.